import request from '@/utils/request'

/**
 * 获取租户配置列表
 * @param {string} configType - 配置类型（可选）
 */
export function getTenantConfigs(configType = '') {
  return request({
    url: '/admin/tenant-configs',
    method: 'get',
    params: configType ? { config_type: configType } : {}
  })
}

/**
 * 设置单个租户配置
 * @param {Object} data - 配置数据
 */
export function setTenantConfig(data) {
  return request({
    url: '/admin/tenant-configs',
    method: 'post',
    data
  })
}

/**
 * 批量设置租户配置
 * @param {Array} configs - 配置数组
 */
export function setTenantConfigsBatch(configs) {
  return request({
    url: '/admin/tenant-configs/batch',
    method: 'post',
    data: { configs }
  })
}

/**
 * 删除租户配置
 * @param {number} configId - 配置ID
 */
export function deleteTenantConfig(configId) {
  return request({
    url: `/admin/tenant-configs/${configId}`,
    method: 'delete'
  })
}

/**
 * 获取配置类型列表
 */
export function getConfigTypes() {
  return request({
    url: '/admin/tenant-configs/types',
    method: 'get'
  })
}

/**
 * 测试配置
 * @param {string} configType - 配置类型
 */
export function testTenantConfig(configType) {
  return request({
    url: `/admin/tenant-configs/test/${configType}`,
    method: 'post'
  })
}

/**
 * 从环境变量导入配置
 */
export function importConfigsFromEnv() {
  return request({
    url: '/admin/tenant-configs/import-from-env',
    method: 'post'
  })
}
